home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / mathematica / tex-mma.tar_z / tex-mma / tex-mma.info < prev    next >
Text File  |  1991-04-26  |  68KB  |  1,881 lines

  1. Info file: tex-mma.info,    -*-Text-*-
  2. produced by texinfo-format-buffer
  3. from file: tex-mma.texinfo
  4.  
  5.  
  6.  
  7.  
  8.  
  9. This file documents tex-mma.el
  10.  
  11. Copyright (C) 1991 Dan Dill.
  12.  
  13. Permission is granted to make and distribute verbatim copies of this
  14. manual provided the copyright notice and this permission notice are
  15. preserved on all copies.
  16.  
  17.  
  18. Permission is granted to copy and distribute modified versions of this
  19. manual under the conditions for verbatim copying, provided also that the
  20. section entitled "GNU General Public License" is included exactly as
  21. in the original, and provided that the entire resulting derived work is
  22. distributed under the terms of a permission notice identical to this one.
  23.  
  24. Permission is granted to copy and distribute translations of this manual
  25. into another language, under the above conditions for modified versions,
  26. except that the section entitled "GNU General Public License" may be
  27. included in a translation approved by the author instead of in the
  28. original English.
  29.  
  30.  
  31.  
  32.  
  33.  
  34. 
  35. File: tex-mma.info  Node: Top, Prev: (dir), Up: (dir), Next: Copying
  36.  
  37. TeX/Mathematica is a set of tools that provide facilities of
  38. Mathematica Notebooks in a UNIX environment, under GNU Emacs.  They
  39. permit interaction between a text and a Mathematica buffer and, if
  40. desired, the use of TeX/LaTeX to annotate Mathematica-based
  41. explorations and programs.  Inclusion of Mathematica-generated
  42. graphics in TeX/LaTeX documents printed using PostScript is
  43. supported.  The tools also support the automatic generation of
  44. Mathematica packages from Mathematica documents.
  45.  
  46. With these tools one can interactively develop and refine teaching and
  47. research documents. The interactive nature of the tools encourages
  48. Mathematica-based exploration as a natural part of the writing
  49. process.
  50.  
  51. * Menu:
  52.  
  53. * Copying::                   How you can copy and share TeX/Mathematica
  54. * Intro::                    The purpose of TeX/Mathematica.
  55. * Using tex-math::        Describes the TeX/Mathematica major mode
  56. * Packages::            How to make Mathematica packages
  57. * Formatting::            Including Mathematica code in TeX/LaTeX
  58. * Graphics::            Including Mathematica graphics in TeX/LaTeX
  59. * Help::            Getting help from Emacs and Mathematica
  60. * Changing things::        How to customize TeX/Mathematica
  61. * Extending tex-math::        How to add new cell types to TeX/Mathematica
  62. * Getting tex-math::        How to get and install TeX/Mathematica
  63. * Related programs::        Programs used by TeX/Mathematica
  64. * Index::
  65.  
  66.  
  67. 
  68. File: tex-mma.info  Node: Copying, Prev: Top, Up: Top, Next: Intro
  69.  
  70. GNU GENERAL PUBLIC LICENSE
  71. **************************
  72.                         Version 1, February 1989
  73.  
  74.      Copyright (C) 1989 Free Software Foundation, Inc.
  75.      675 Mass Ave, Cambridge, MA 02139, USA
  76.  
  77.      Everyone is permitted to copy and distribute verbatim copies
  78.      of this license document, but changing it is not allowed.
  79.  
  80.  
  81. Preamble
  82. ========
  83.  
  84.   The license agreements of most software companies try to keep users
  85. at the mercy of those companies.  By contrast, our General Public
  86. License is intended to guarantee your freedom to share and change free
  87. software---to make sure the software is free for all its users.  The
  88. General Public License applies to the Free Software Foundation's
  89. software and to any other program whose authors commit to using it.
  90. You can use it for your programs, too.
  91.  
  92.   When we speak of free software, we are referring to freedom, not
  93. price.  Specifically, the General Public License is designed to make
  94. sure that you have the freedom to give away or sell copies of free
  95. software, that you receive source code or can get it if you want it,
  96. that you can change the software or use pieces of it in new free
  97. programs; and that you know you can do these things.
  98.  
  99.   To protect your rights, we need to make restrictions that forbid
  100. anyone to deny you these rights or to ask you to surrender the rights.
  101. These restrictions translate to certain responsibilities for you if you
  102. distribute copies of the software, or if you modify it.
  103.  
  104.   For example, if you distribute copies of a such a program, whether
  105. gratis or for a fee, you must give the recipients all the rights that
  106. you have.  You must make sure that they, too, receive or can get the
  107. source code.  And you must tell them their rights.
  108.  
  109.   We protect your rights with two steps: (1) copyright the software, and
  110. (2) offer you this license which gives you legal permission to copy,
  111. distribute and/or modify the software.
  112.  
  113.   Also, for each author's protection and ours, we want to make certain
  114. that everyone understands that there is no warranty for this free
  115. software.  If the software is modified by someone else and passed on, we
  116. want its recipients to know that what they have is not the original, so
  117. that any problems introduced by others will not reflect on the original
  118. authors' reputations.
  119.  
  120.   The precise terms and conditions for copying, distribution and
  121. modification follow.
  122.  
  123.                           TERMS AND CONDITIONS
  124.  
  125.   1. This License Agreement applies to any program or other work which
  126.      contains a notice placed by the copyright holder saying it may be
  127.      distributed under the terms of this General Public License.  The
  128.      "Program", below, refers to any such program or work, and a "work based
  129.      on the Program" means either the Program or any work containing the
  130.      Program or a portion of it, either verbatim or with modifications.  Each
  131.      licensee is addressed as "you".
  132.  
  133.   2. You may copy and distribute verbatim copies of the Program's source
  134.      code as you receive it, in any medium, provided that you conspicuously and
  135.      appropriately publish on each copy an appropriate copyright notice and
  136.      disclaimer of warranty; keep intact all the notices that refer to this
  137.      General Public License and to the absence of any warranty; and give any
  138.      other recipients of the Program a copy of this General Public License
  139.      along with the Program.  You may charge a fee for the physical act of
  140.      transferring a copy.
  141.  
  142.   3. You may modify your copy or copies of the Program or any portion of
  143.      it, and copy and distribute such modifications under the terms of Paragraph
  144.      1 above, provided that you also do the following:
  145.  
  146.         * cause the modified files to carry prominent notices stating that
  147.           you changed the files and the date of any change; and
  148.  
  149.         * cause the whole of any work that you distribute or publish, that
  150.           in whole or in part contains the Program or any part thereof, either
  151.           with or without modifications, to be licensed at no charge to all
  152.           third parties under the terms of this General Public License (except
  153.           that you may choose to grant warranty protection to some or all
  154.           third parties, at your option).
  155.  
  156.         * If the modified program normally reads commands interactively when
  157.           run, you must cause it, when started running for such interactive use
  158.           in the simplest and most usual way, to print or display an
  159.           announcement including an appropriate copyright notice and a notice
  160.           that there is no warranty (or else, saying that you provide a
  161.           warranty) and that users may redistribute the program under these
  162.           conditions, and telling the user how to view a copy of this General
  163.           Public License.
  164.  
  165.         * You may charge a fee for the physical act of transferring a
  166.           copy, and you may at your option offer warranty protection in
  167.           exchange for a fee.
  168.  
  169.      Mere aggregation of another independent work with the Program (or its
  170.      derivative) on a volume of a storage or distribution medium does not bring
  171.      the other work under the scope of these terms.
  172.  
  173.   4. You may copy and distribute the Program (or a portion or derivative of
  174.      it, under Paragraph 2) in object code or executable form under the terms of
  175.      Paragraphs 1 and 2 above provided that you also do one of the following:
  176.  
  177.         * accompany it with the complete corresponding machine-readable
  178.           source code, which must be distributed under the terms of
  179.           Paragraphs 1 and 2 above; or,
  180.  
  181.         * accompany it with a written offer, valid for at least three
  182.           years, to give any third party free (except for a nominal charge
  183.           for the cost of distribution) a complete machine-readable copy of the
  184.           corresponding source code, to be distributed under the terms of
  185.           Paragraphs 1 and 2 above; or,
  186.  
  187.         * accompany it with the information you received as to where the
  188.           corresponding source code may be obtained.  (This alternative is
  189.           allowed only for noncommercial distribution and only if you
  190.           received the program in object code or executable form alone.)
  191.  
  192.      Source code for a work means the preferred form of the work for making
  193.      modifications to it.  For an executable file, complete source code means
  194.      all the source code for all modules it contains; but, as a special
  195.      exception, it need not include source code for modules which are standard
  196.      libraries that accompany the operating system on which the executable
  197.      file runs, or for standard header files or definitions files that
  198.      accompany that operating system.
  199.  
  200.   5. You may not copy, modify, sublicense, distribute or transfer the
  201.      Program except as expressly provided under this General Public License.
  202.      Any attempt otherwise to copy, modify, sublicense, distribute or transfer
  203.      the Program is void, and will automatically terminate your rights to use
  204.      the Program under this License.  However, parties who have received
  205.      copies, or rights to use copies, from you under this General Public
  206.      License will not have their licenses terminated so long as such parties
  207.      remain in full compliance.
  208.  
  209.   6. By copying, distributing or modifying the Program (or any work based
  210.      on the Program) you indicate your acceptance of this license to do so,
  211.      and all its terms and conditions.
  212.  
  213.   7. Each time you redistribute the Program (or any work based on the
  214.      Program), the recipient automatically receives a license from the original
  215.      licensor to copy, distribute or modify the Program subject to these
  216.      terms and conditions.  You may not impose any further restrictions on the
  217.      recipients' exercise of the rights granted herein.
  218.  
  219.   8. The Free Software Foundation may publish revised and/or new versions
  220.      of the General Public License from time to time.  Such new versions will
  221.      be similar in spirit to the present version, but may differ in detail to
  222.      address new problems or concerns.
  223.  
  224.      Each version is given a distinguishing version number.  If the Program
  225.      specifies a version number of the license which applies to it and "any
  226.      later version", you have the option of following the terms and conditions
  227.      either of that version or of any later version published by the Free
  228.      Software Foundation.  If the Program does not specify a version number of
  229.      the license, you may choose any version ever published by the Free Software
  230.      Foundation.
  231.  
  232.   9. If you wish to incorporate parts of the Program into other free
  233.      programs whose distribution conditions are different, write to the author
  234.      to ask for permission.  For software which is copyrighted by the Free
  235.      Software Foundation, write to the Free Software Foundation; we sometimes
  236.      make exceptions for this.  Our decision will be guided by the two goals
  237.      of preserving the free status of all derivatives of our free software and
  238.      of promoting the sharing and reuse of software generally.
  239.  
  240.                                  NO WARRANTY
  241.  
  242.  10. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
  243.      FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
  244.      OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
  245.      PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
  246.      OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  247.      MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
  248.      TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
  249.      PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
  250.      REPAIR OR CORRECTION.
  251.  
  252.  11. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
  253.      ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
  254.      REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
  255.      INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
  256.      ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
  257.      LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
  258.      SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
  259.      WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
  260.      ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  261.  
  262.  
  263.  
  264. 
  265. File: tex-mma.info  Node: Intro, Prev: Copying, Up: Top, Next: Using tex-math
  266.  
  267. Introduction
  268. ************
  269.  
  270.  
  271. Mathematica Notebooks, available on several platforms, constitute
  272. an exciting step toward the goal of interactive mathematical
  273. documents, and are a significant factor in the ready acceptance of
  274. Mathematica by beginning users.  Unfortunately, Notebooks are not
  275. yet available on UNIX systems.  This limitation is an obstacle to new
  276. users, especially students, who may be faced with the need to learn a
  277. new operating system and an editor, in addition to Mathematica.
  278.  
  279. Notebooks themselves have shortcomings: although they allow annotation
  280. of Mathematica sessions, these annotations do not support full
  281. mathematical notation in a system-independent way, as TeX, for
  282. example, does.  This restricts the effective use of Notebooks in the
  283. development of course materials in upper-level mathematics courses and
  284. in courses at all levels in astronomy, chemistry, physics and in all
  285. fields of engineering, for example, since mathematics is central to
  286. their exposition.
  287.  
  288. To overcome the limitations above, I've developed tools that provide
  289. some of the facilities of Notebooks in a UNIX environment and permit the
  290. full use of TeX in Mathematica documents (or vice versa).  The
  291. tools also support automatic generation of Mathematica packages from
  292. Mathematica documents.  The primary tool is the Emacs package
  293. `tex-mathematica', which defines a new mode for interactive exchange
  294. between a TeX document and Mathematica.  This builds on, and
  295. extends in several ways, David Jacobson's Mathematica mode for Emacs
  296. (*Note math::).  In addition, macro packages are provided to format
  297. Mathematica-based documents with TeX.
  298.  
  299. TeX/Mathematica and Mathematica modes are in some sense
  300. complementary.  Under the first, the emphasis is on interactive
  301. document preparation, so editing can be done in the text buffer.
  302. Under the second, the emphasis is on the Mathematica session
  303. itself, so one interacts directly with Mathematica in the
  304. Mathematica buffer.  The user can switch back and forth between
  305. the two approaches as appropriate.
  306.  
  307.  
  308.  
  309. 
  310. File: tex-mma.info  Node: Using tex-math, Prev: Intro, Up: Top, Next: Packages
  311.  
  312. Using TeX/Mathematica
  313. *********************
  314.  
  315. * Menu:
  316.  
  317. * Startup::            Getting TeX/Mathematica going
  318. * Cells::            Where to put Mathematica statements
  319. * Input::            How to type Mathematica statements
  320.  
  321.  
  322. 
  323. File: tex-mma.info  Node: Startup, Up: Using tex-math, Next: Cells
  324.  
  325. Starting TeX/Mathematica
  326. ========================
  327.  
  328. To start up TeX/Mathematica, use the command `M-x
  329. tex-mathematica'.  This will set up `TeX-Mathematica mode' in the
  330. working buffer.  Mathematica will be started as a shell process in
  331. `Mathematica mode' in a second buffer (but not until necessary).
  332. The command `C-c o' switches to the Mathematica buffer in
  333. another window.  The command `C-c l' places the Mathematica
  334. input prompt at the top of the Mathematica window.
  335.  
  336. The command `M-x tex-mathematica' tries to determine whether the
  337. buffer contains TeX or LaTeX text, and then sets the mode
  338. accordingly to `TeX/Mathematica mode' or `LaTeX/Mathematica
  339. mode'.  For cases where this results in the wrong mode, the commands
  340. `M-x plain-tex-mathematica' and `M-x latex-mathematica' are provided
  341. to explicitly select the mode.
  342.  
  343. Note that `TeX/Mathematica mode' and `Mathematica mode' are
  344. complimentary approaches to interacting with Mathematica.  In
  345. `TeX/Mathematica mode' the emphasis is on interactive document
  346. preparation and so editing can be done in the TeX buffer.  In
  347. `Mathematica mode' the emphasis is on the Mathematica session
  348. itself and so one interacts directly with Mathematica in the
  349. Mathematica buffer.  Because `TeX/Mathematica mode' uses
  350. `Mathematica mode', both approaches can be used as appropriate,
  351. simply by changing buffers.
  352.  
  353.  
  354. 
  355. File: tex-mma.info  Node: Cells, Prev: Startup, Up: Using tex-math, Next: Input
  356.  
  357. Mathematica cells
  358. =================
  359.  
  360. At the simplest level, all text delineated by blank lines can be sent to
  361. the Mathematica buffer with the command `C-c RET'.  This command
  362. is convenient for quickly sketching ideas.  However, the bulk of
  363. TeX/Mathematica depends on its "cell structure".
  364.  
  365. * Menu:
  366.  
  367. * Regular cells::        Contain Mathematica statements
  368. * Initialization cells::    Contain statements that should be
  369.                 executed to initialize Mathematica
  370.  
  371.  
  372.  
  373. 
  374. File: tex-mma.info  Node: Regular cells, Up: Cells, Next: Initialization cells
  375.  
  376. Regular cells
  377. -------------
  378.  
  379. Mathematica code in a TeX document is contained in "cells",
  380. delineated by
  381.  
  382.      \begin{mathematica}
  383.      ...
  384.      \end{mathematica}
  385.  
  386. The command `C-c c' creates an active cell and the commands `C-c
  387. C-[' and `C-c C-]' move to preceding and subsequent cells.  Cell
  388. input is sent to Mathematica with the command `ESC RET' and the
  389. output of the last Mathematica command is inserted into the cell
  390. with the command `C-c r' (replace).  These two operations, send and
  391. replace, are combined with the command `C-c u' (update).
  392.  
  393.   For example, here is a Mathematica cell containing just input:
  394.  
  395.      \begin{mathematica}
  396.      Apply[Plus, Array[{{#,#^3},{#^2,1}}&, 100]] // MatrixForm
  397.      \end{mathematica}
  398.  
  399. When this cell is formatted by TeX it will be delineated by
  400. horizontal rules.
  401. Here is the cell after `C-c u' (update):
  402.  
  403.  
  404.      \begin{mathematica} Apply[Plus, Array[{{#,#^3},{#^2,1}}&, 100]]
  405.      // MatrixForm
  406.  
  407.                          5050      25502500
  408.                      
  409.      Out[1]//MatrixForm= 338350    100
  410.      \end{mathematica}
  411.  
  412. The output is separated from the input by a blank line, and contains the
  413. output marker `Out[...', if any.
  414.  
  415. The commands `C-c a' and `C-u C-c a' evaluate *all* cells
  416. in a document (except cells that refer to other cells, *Note Packages::;
  417. these can be evaluated using `C-u C-c m', *Note Assembling::).  The
  418. first form lets a cell be bypassed optionally.
  419.  
  420. *Note Initialization cells:: for how to mark only certain cells for
  421. evaluation.
  422.  
  423. *Note Customization:: for information on changing the appearance of
  424. formatted cells.
  425.  
  426.  
  427. 
  428. File: tex-mma.info  Node: Initialization cells, Prev: Regular cells, Up: Cells
  429.  
  430. Initialization cells
  431. --------------------
  432.  
  433. An important feature of Mathematica Notebook frontends is the
  434. ability to specify that certain cells should be evaluated as
  435. initialization, typically when a document is first opened.  Such
  436. "initialization cells" are specified in TeX/Mathematica
  437. documents as
  438.  
  439.      \begin{mathematica}[* Initialization Cell *]
  440.      ...
  441.      \end{mathematica}
  442.  
  443. The command `C-c TAB' toggles the initialization indicator.  The
  444. commands `C-c i' and `C-u C-c i' evaluate all initialization
  445. cells in a document (except cells that refer to other cells,
  446. *Note Packages::; thses can be evaluated using `C-u C-c m',
  447. *Note Assembling::). The first form lets an initialization cell be
  448. bypassed optionally.  Here is an example of an initialization cell:
  449.  
  450.      \begin{mathematica}[* Initialization Cell *]
  451.      u[t_] := {{Cos[t], -Sin[t]}, {Sin[t], Cos[t]}}; \
  452.      v = {{0,I}, {-I,0}};
  453.      \end{mathematica}
  454.  
  455. Note that these particular commands generate no Mathematica output
  456. and so there is no output portion to the cell.  In the formatted
  457. document an initialization cell is marked with a boxed `I' at the
  458. right edge of the cell-start rule.
  459.  
  460.  
  461. 
  462. File: tex-mma.info  Node: Input, Prev: Cells, Up: Using tex-math
  463.  
  464. Arrangement of Mathematica statements in cells
  465. ==============================================
  466.  
  467. Statements may be set off with `TAB' characters, and these will be
  468. reflected in the formatted document, based on an eight-character tab width.
  469.  
  470. Cell input can contain more than one Mathematica statement, and each
  471. statement can extend across several lines.  Multiple statements must be
  472. separated by `;' and when Mathematica statements extend over
  473. multiple lines, any lines except the last that could be interpreted by
  474. Mathematica as a valid end of statement must end with the
  475. continuation character `\'.  The `;' and `\' are
  476. necessary because each line of input is sent separately to
  477. Mathematica.  For example, consider the cell
  478.  
  479.      \begin{mathematica}
  480.      y = u[Pi] . v \
  481.          /. 0 -> x
  482.  
  483.      Out[3]= {{x, -I}, {I, x}}
  484.      \end{mathematica}
  485.  
  486. Without the `\', Mathematica would process the first line as a
  487. complete statement and then report an error for the next line.  In fact
  488. `tex-mathematica' will flag such potential problems
  489. (*Note Mathematica help::).
  490.  
  491.  
  492.  
  493. 
  494. File: tex-mma.info  Node: Packages, Prev: Using tex-math, Up: Top, Next: Formatting
  495.  
  496. Creating Mathematica packages
  497. *****************************
  498.  
  499. You may want to collect some of the Mathematica cells of a
  500. TeX/Mathematica document into a Mathematica package.  This
  501. node describes how to do this automatically.
  502.  
  503. This feature of TeX/Mathematica is modeled on Knuth's `WEB'
  504. system of structured documentation.  The basic idea of the `WEB'
  505. system is to develop code hierarchically in terms of named fragments.
  506. Fragments are introduced as appropriate, in whatever order is convenient
  507. to the description of the program, using TeX for documentation.
  508. Thereby the author is freed from the constraints of the programming
  509. language in the development and description of the code.
  510.  
  511. In the usual implementation of `WEB' systems, the source document is
  512. written in `WEB', the mixture of code and TeX documentation.  The
  513. `WEB' document is then alternatively processed by a program
  514. `WEAVE' into a file which can then be processed by TeX to give
  515. the formatted documentation and code, or by a program `TANGLE' which
  516. collects together the code fragments into a source file for the
  517. particular language processor (for example, Pascal or C.
  518.  
  519. Here instead, since Mathematica code is printed verbatim without
  520. other special formatting, the source TeX/Mathematica document can
  521. be processed directly by TeX (or LaTeX), that is, the `WEAVE'
  522. step is not needed. The generation of the Mathematica package code,
  523. the `TANGLE' step, is done either interactively from within Emacs or
  524. from a UNIX shell.
  525.  
  526. * Menu:
  527.  
  528. * Marking::    How to mark cells as part of a package
  529. * Assembling::    How to assemble a package from the marked cells
  530. * Batch::    How to assemble a package from UNIX, e.g., using make
  531.  
  532. 
  533. File: tex-mma.info  Node: Marking, Up: Packages, Next: Assembling
  534.  
  535. Marking Mathematica cells as part of a package
  536. ==============================================
  537.  
  538. A cell is marked as part of a Mathematica package by appending a
  539. "cell label" `<FILE:PART>' to the end of the line
  540. starting the Mathematica cell:
  541.  
  542.      \begin{mathematica}<FILE:PART>
  543.      ...
  544.      \end{mathematica}
  545.  
  546. where FILE is the name of the file to contain the text of the
  547. Mathematica package and PART specifies to what part of the
  548. package the cells belongs.  The order in which parts are assembled into
  549. the package file (*Note Assembling::) is determined by package
  550. references contained in "package cells", cells marked
  551. `<FILE:>' --- without a part.  Cells referenced in package
  552. cells can also contain cell references and the same cell reference can
  553. be used in multiple cells.  In this way the structure of the package can
  554. be set out hierarchically.
  555.  
  556. Here is an example of how this works.  Let's say we want to assemble the
  557. package file `MatrixMechanics.m'.  The overall structure of the
  558. package might be defined by the package cell
  559.  
  560.      \begin{mathematica}<MatrixMechanics.m:>
  561.      BeginPackage["MatrixMechanics.m`"]
  562.  
  563.      <MatrixMechanics.m:Usage messages>
  564.  
  565.      Begin["`Private"]
  566.  
  567.      <MatrixMechanics.m:Error messages>
  568.  
  569.      <MatrixMechanics.m:Utility functions>
  570.  
  571.      <MatrixMechanics.m:Function QMmatrix>
  572.  
  573.      End[]; EndPackage[]
  574.      \end{mathematica}
  575.  
  576. in terms of parts `Usage messages', `Error messages',
  577. `Utility functions' and `Function QMmatrix'.  These parts are
  578. defined in correspondingly marked cells.  For example, part
  579. `Function QMmatrix' might have the definition
  580.  
  581.      \begin{mathematica}<MatrixMechanics.m:Function QMmatrix>
  582.      QMmatrix[op_, basis_List] := Block[{
  583.              <MatrixMechanics.m:QMmatrix local variables>
  584.              },
  585.          <MatrixMechanics.m:QMmatrix argument checking>
  586.          <MatrixMechanics.m:QMmatrix evaluation>
  587.      \end{mathematica}
  588.  
  589. in terms of still other parts.  Cells referenced in package cells can
  590. also contain cell references and the same cell reference can be used in
  591. multiple cells.  This is convenient to control the layout of the
  592. assembled package.
  593.  
  594. Cells with the same label will be collated together in the order in
  595. which they appear in the document (*Note Assembling::). For example, the
  596. part `Utility functions' could be built up from several cells
  597.  
  598.      \begin{mathematica}<MatrixMechanics.m:Utility functions>
  599.      ...
  600.      \end{mathematica}
  601.  
  602.  
  603. When marked cells are formatted by TeX, the package filename and
  604. partname are printed in the cell start rule, separated by a colon.
  605. Package cells are marked `Definition of package FILE'.
  606.  
  607.  
  608. It is useful to make package filenames and, especially, partnames as
  609. descriptive as possible.  This is made easier by name completion and
  610. name abbreviation.  The command `ESC TAB' will complete filenames
  611. and partnames based on names appearing elsewhere in the document
  612. (*Note Mathematica help:: for another use of `ESC TAB').  The
  613. filename and partname also can be abbreviated by a unique substring
  614. followed by `...', for example
  615.  
  616.      \begin{mathematica}<Matrix...:U...>
  617.      ...
  618.      \end{mathematica}
  619.  
  620. If only a single package filename or partname appears in the document,
  621. then it may be abbreviated to simply `...'.  Thus, utility functions
  622. of the package file `MatrixMechanics.m' could be specifed in the
  623. same TeX/Mathematica document as (assuming only the single
  624. package filename `MatrixMechanics.m' appears in the document for
  625. cell-type `mathematica'; documents may contain other cell-types,
  626. *Note Extending tex-math::):
  627.  
  628.      \begin{mathematica}<...:U...>
  629.      ...
  630.      \end{mathematica}
  631.  
  632. The abbreviation marker `...' appears in the cell start rule and so can
  633. leave space there for long partnames.
  634.  
  635.  
  636.  
  637.  
  638.  
  639. 
  640. File: tex-mma.info  Node: Assembling, Prev: Marking, Up: Packages, Next: Batch
  641.  
  642. Assembling a package
  643. ====================
  644.  
  645. The command `C-c m' (`M-x tex-mma-assemble-package') assembles
  646. cells marked as part of a package.  The package is assembled in a buffer
  647. of the same name as the specified filename.  If only a single package
  648. filename is specified in the TeX/Mathematica document, then it
  649. will be used.  Otherwise the command will prompt for the package
  650. filename.
  651.  
  652. The assembly of the package proceeds as follows: First, all cells for
  653. each part are collated together in the order they appear in the
  654. document; package cells are also collated together.  Then the combined
  655. text for each part is collated together in the order the references to
  656. it appear in the collated package cell text (*Note Marking::).  Finally,
  657. the text for any resulting references is inserted, recursively until all
  658. references have been resolved.
  659.  
  660. You can also assemble any single marked cell, using the command `C-u
  661. C-c m' (`M-x tex-mma-assemble-cell').  The text is assembled in the
  662. buffer `FILE:PART' corresponding to the cell label.  The
  663. assembly proceeds as for package cells, except that only cells referred
  664. to in the particular cell are collated; other cells with the same cell
  665. label are *not* collated.  Assembly of an individual cell is useful
  666. for checking intermediate phases of package assembly and for preparing a
  667. cell for submission to Mathematica.
  668.  
  669. Note the difference between assembling a cell and assembling a package.
  670. If you specify just a single package cell in your document, then you can
  671. assemble the package cell with either `C-c m' or `C-u C-c m'.
  672. If your package is specified in several package cells, then you need to
  673. use `C-c m' so that their text will be collated together in the
  674. package assembly.
  675.  
  676.  
  677.  
  678.  
  679. 
  680. File: tex-mma.info  Node: Batch, Prev: Assembling, Up: Packages
  681.  
  682. Assembling a package from the UNIX shell
  683. ========================================
  684.  
  685. You can create a package file from the UNIX shell, for example in
  686. conjunction with UNIX make to ensure that packages generated from a
  687. TeX/Mathematica document reflect any changes to the document.
  688. You can do this with the UNIX command `tex-mma-assemble-package' (a
  689. shell script), which runs the Emacs Lisp function
  690. `tex-mma-assemble-package' using Emacs batch mode.  The UNIX command
  691. takes three arguments:
  692.  
  693.      tex-mma-assemble-package PACKAGE-TYPE PACKAGE-FILE DOCUMENT-FILE
  694.  
  695. the package type (usually `mathematica', but other kinds of cells
  696. and so packages are also possible, *Note Extending tex-math::), the
  697. package filename, and the TeX/Mathematica document filename.
  698.  
  699. For example, let's say you want to create the package file
  700. `AngularMomentum.m' from marked cells in the LaTeX document
  701. `am.tex'.  You can do this with the UNIX command
  702.  
  703.      tex-mma-assemble-package mathematica AngularMomentum.m am.tex
  704.  
  705. This command tells Emacs to visit `am.tex', assemble the package
  706. file `AngularMomentum.m' from marked Mathematica cells and then
  707. exit.  Note that `AngularMomentum.m' will be overwritten if
  708. necessary.  The command also creates the file
  709. `AngularMomentum.m.log' that contains what would have been printed
  710. in the echo area had the package been assembled interactively from
  711. within Emacs (using `C-c m').
  712.  
  713.  
  714. 
  715. File: tex-mma.info  Node: Formatting, Prev: Packages, Up: Top, Next: Graphics
  716.  
  717. Formatting TeX/Mathematica documents
  718. ************************************
  719.  
  720. One reason for creating this package was so you can easily edit,
  721. annotate and save work with Mathematica.  You can do this without
  722. having to use TeX at all, just by using the cell creation, send,
  723. update and replace commands (*Note Regular cells::), together with the
  724. help and syntax error facilities (*Note Mathematica help::).  If you want to use
  725. TeX to format your document, however, macro packages are provided for
  726. formatting Mathematica cells.
  727.  
  728.  
  729. * Menu:
  730.  
  731. * Initialization::    Setting up a document for formatting by TeX/LaTeX
  732. * Customization::    How to change the appearance of formatted cells
  733. * Example::        Text of a TeX example illustrating TeX/Mathematica
  734. * Verbatim::        Including Mathematica (and other) files
  735.  
  736. 
  737. File: tex-mma.info  Node: Initialization, Up: Formatting, Next: Customization
  738.  
  739. Initialization
  740. ==============
  741.  
  742. In 10 point TeX documents Mathematica cell formatting is made
  743. available with
  744.  
  745.      \input mathematica10pt
  746.  
  747. Use `mathematica12pt' for 12 point TeX documents.  In LaTeX use
  748.  
  749.      \documentstyle[mathematica,...
  750.  
  751. for both 10 and 12 point documents.  With these macro packages
  752. Mathematica sessions can be neatly integrated into TeX documents.
  753.  
  754.  
  755. 
  756. File: tex-mma.info  Node: Customization, Prev: Initialization, Up: Formatting, Next: Example
  757.  
  758. Customizing cells
  759. =================
  760.  
  761. The type style, type size (for LaTeX only), and the indentation of
  762. cell text can be changed.
  763.  
  764. * Menu:
  765.  
  766. * Style::            Changing fixed-width type style
  767. * Size::            Changing type size (LaTeX only)
  768. * Indentation::            Changing cell left margin
  769.  
  770.  
  771. 
  772. File: tex-mma.info  Node: Style, Up: Customization, Next: Size
  773.  
  774. Type style
  775. ----------
  776.  
  777. Cells are set in a fixed-width typewriter font.  This is necessary to
  778. preserve tabular alignment.  Any fixed-width font can be used.  To
  779. change the font, the macro files need to be changed.  For TeX, in
  780. file `mathematica10pt.tex', change the `cmtt8<' in the line
  781.  
  782.      \font\cellf@nt=cmtt8 % Font for cell text
  783.  
  784. or in file `mathematica12pt.tex' change the `cmtt9' in the line
  785.  
  786.      \font\cellf@nt=cmtt9 % Font for cell text
  787.  
  788. Make sure that the new font style is the same size (that is, 8 or 9
  789. points) or the tabbing and line spacing will come out wrong.  For
  790. LaTeX, in `mathematica.sty' change the `\tt' in the line
  791.  
  792.      \def\v@rbsize{\mm@size\tt} % Font for cell text
  793.  
  794.  
  795. 
  796. File: tex-mma.info  Node: Size, Prev: Style, Up: Customization, Next: Indentation
  797.  
  798. Type size
  799. ---------
  800.  
  801. For LaTeX documents (but not TeX documents) the type size can be
  802. changed with the command
  803.  
  804.      \mmasize{<type size specification>}
  805.  
  806. The default size is `\footnotesize'.  Use `\normalsize' to make cell
  807. text the same size as regular text.  In 12 point documents with narrow
  808. margins `\scriptsize' might work well,
  809.  
  810.      \mmasize{\scriptsize}
  811.  
  812.  
  813. 
  814. File: tex-mma.info  Node: Indentation, Prev: Size, Up: Customization
  815.  
  816. Indentation
  817. -----------
  818.  
  819. For both LaTeX and TeX, the left margin of cell contents can be
  820. changed with the command
  821.  
  822.      \mmaindent{<size specification>}
  823.  
  824. The default indentation is `\parindent'.  For example, to set the
  825. cell margin flush left, use
  826.  
  827.      \mmaindent{0pt}
  828.  
  829.  
  830. 
  831. File: tex-mma.info  Node: Example, Prev: Customization, Up: Formatting, Next: Verbatim
  832.  
  833. Example TeX/Mathematica text
  834. ============================
  835.  
  836. The following text, taken from lecture notes on quantum
  837. mechanics, illustrates how TeX and Mathematica can be combined.
  838.  
  839.      \input mathematica10pt    % Get the tex-mathematica 10 point macros.
  840.      \input psfig        % Get the psfig macros
  841.      \psfiginit          % .. and initialize them
  842.  
  843.      % Narrowed margins look better with 10 point type 
  844.      \hoffset=1in \advance\hsize by -2in
  845.      \voffset=1in \advance\vsize by -2in
  846.  
  847.      % The example uses these macros
  848.      \def\ket#1{\raise .25ex\hbox{$|$} #1\raise .25ex\hbox{$\rangle$}}
  849.      \def\braket#1#2%
  850.      {\raise .25ex\hbox{$\langle$} #1 \raise .25ex\hbox{$|$}
  851.           #2 \raise .25ex\hbox{$\rangle$}}
  852.  
  853.      Clebsch-Gordan coefficients $\braket{j_1 m_1, j_2 m_2}{j m}$ arise in the
  854.      quantum theory of angular momentum.  They are elements of unitary
  855.      transformation between uncoupled and coupled representations $\ket{j_1 m_1 j_2
  856.      m_2}$ and $\ket{j_1 j_2 j m}$.  The unitarity of the transformation implies
  857.      the sum rules
  858.      $$\eqalign{
  859.      \sum_{jm}
  860.          \braket{j_1 m_1, j_2 m_2}{j m}
  861.          \braket{j m}{j_1 m_1, j_2 m_2}
  862.              &= 1, \cr
  863.      \sum_{jm}
  864.          \braket{j m}{j_1 m_1, j_2 m_2}
  865.          \braket{j_1 m_1, j_2 m_2}{j m}
  866.              &= 1. \cr
  867.      }$$
  868.      The first of these rules can be illustrated explicitly as follows.  First,
  869.      \begin{mathematica}[* Initialization Cell *]
  870.      <<DiscreteMath/ClebschGordan.m
  871.      \end{mathematica}
  872.      defines the function {\tt Clebsch[{j1,m1},{j2,m2},{j,m}]}.  Next, to keep
  873.      things simple, consider the case $j_1 = j_2 = l$, so that $0 \le j \le 2l$,
  874.      and $m_1 = m_2 = 0$, so that $m = 0$. Then the only coefficients needed are
  875.      \begin{mathematica}
  876.      cg[l_, j_] := Clebsch[{l,0},{l,0},{j,0}]
  877.      \end{mathematica}
  878.      and the first sum rule can be written 
  879.      \begin{mathematica}
  880.      check[l_] := 1 == Sum[cg[l,j]^2, {j, 0, 2 l}]
  881.      \end{mathematica}
  882.      The rule for $l = 0$ to $l = 5$ is then checked with
  883.      \begin{mathematica}
  884.      Table[check[i], {i, 0, 5}]
  885.  
  886.      Out[4]= {True, True, True, True, True, True}
  887.      \end{mathematica}
  888.      The second sum rule can be tested in a similar way.
  889.  
  890.  
  891. Using TeX/Mathematica in this way, one can interactively develop
  892. and refine course and research documents.  The interactive nature of
  893. these tools encourages exploration as a natural part of the writing
  894. process.  At every point a fully annotated record of the journey so far
  895. is at hand.
  896.  
  897.  
  898. 
  899. File: tex-mma.info  Node: Verbatim, Prev: Example, Up: Formatting
  900.  
  901. Verbatim listing of Mathematica (and other) files
  902. =================================================
  903.  
  904. You can insert the verbatim listing of Mathematica file
  905. `<filename>' (or any text file, for that matter) in your document
  906. with the command
  907.  
  908.      \mathematicafile{<filename>}
  909.  
  910. For example, to include the file `PSTeX.m', use the command
  911.  
  912.      \mathematicafile{PSTeX.m}
  913.  
  914. The file contents will have the same format as cells and the file name
  915. will be included in the cell-start rule.
  916.  
  917. Caution: If text follows on the next line, then include the file with
  918. the command
  919.  
  920.      \mathematicafile{<filename>}%
  921.  
  922. The trailing `%' prevents a space before the start of the text on
  923. the next line.  If the next line is empty, then the trailing `%' is
  924. not needed (but will do no harm).
  925.  
  926.  
  927. 
  928. File: tex-mma.info  Node: Graphics, Prev: Formatting, Up: Top, Next: Help
  929.  
  930. Mathematica graphics
  931. ********************
  932.  
  933. Graphics generated by Mathematica can be incorporated into TeX
  934. documents using Trevor Darrell's `psfig' TeX/LaTeX macros.
  935. These are described fully in the detailed documentation provided as part
  936. of the `psfig' kit (*Note psfig::). (The `epsf' macros of Tomas
  937. Rokicki's program `dvips' can be used instead; *Note dvips::.)
  938. Including graphics in a TeX/Mathematica document is a three-part
  939. process.  First the `psfig' macro must be read in, then graphics are
  940. generated to files with appropriate PostScript bounding box information,
  941. and finally files are placed in the document.
  942.  
  943. * Menu:
  944.  
  945. * Setup::            Preparing a document for graphics
  946. * Files::            How to generate Mathematica graphics files
  947. * Placement::            How to place graphics in a document
  948.  
  949.  
  950. 
  951. File: tex-mma.info  Node: Setup, Up: Graphics, Next: Files
  952.  
  953. Preparing a document for graphics
  954. =================================
  955.  
  956. Before Mathematica graphics files can be included in a document, the
  957. `psfig' macro (*Note psfig::) must be read in and initialized.  For
  958. a TeX document use
  959.  
  960.      \input psfig
  961.      ...
  962.      \psfiginit
  963.  
  964. For a LaTeX document use
  965.  
  966.      \documentstyle[mathematica,psfig,...
  967.      ...
  968.      \begin{document}
  969.      ...
  970.      \psfiginit
  971.  
  972. The command `\psfiginit' must come before any use of `\psfig';
  973. in LaTeX documents `\psfiginit' also must come *after*
  974. the `\begin{document}'.
  975.  
  976.  
  977. 
  978. File: tex-mma.info  Node: Files, Prev: Setup, Up: Graphics, Next: Placement
  979.  
  980. Generating Mathematica graphics to a file
  981. =========================================
  982.  
  983. Figures are incorporated via PostScript graphics files that contain the
  984. proper bounding box information.  The Mathematica command
  985. `PSTeX[-graphics-, "file"]', defined in `PSTeX.m' (*Note Tool kit::), generates these graphics files.
  986.  
  987. Note that the Mathematica PostScript prolog is *not* included
  988. in the file and the prolog must be downloaded to the printer before the
  989. file can be printed.  This is done by the `dvips' processor
  990. (*Note dvips::), using `\special' commands inserted in the
  991. `.dvi' file by `\psfiginit' (*Note Setup::).
  992.  
  993. Double quotes are required around the file name and suffix `.ps' is
  994. added. Use `ESC ` "' (`M-x quoted-insert "') to insert a double
  995. quote in a TeX buffer.  The graphic is scaled to height 100 points
  996. (72 points equal 1 inch), using a scheme developed by Cameron Smith.
  997. The height can be changed by adjusting the value of `PSTeXHeight' or
  998. by using the `height' variable of `\psfig'.
  999.  
  1000. `PSTeX' yields a graphic scaled to height `PSTeXHeight' and
  1001. without centering or margins and hence not generally suitable for
  1002. printing.  `PSFile', defined in `PSFile.m' (*Note Tool kit::),
  1003. produces a graphic in a file, centered and scaled to fill the whole
  1004. page.  The font size is 7 points at the height `PSTeXHeight'; this
  1005. can be changed by changing `PSTeXFontsize'.  Note that the
  1006. `height' variable of `psfig' results in the whole graphic being
  1007. scaled and so the font size as well.
  1008.  
  1009. If `PSTeX' is not yet set up (say by the Mathematica initialization
  1010. file `init.m'), then it is defined with
  1011.  
  1012.      \begin{mathematica}[* Initialization Cell *]
  1013.      <<PSTeX.m
  1014.      \end{mathematica}
  1015.  
  1016. Once `PSTeX' has been set up, a figure is generated to a file with
  1017. commands like
  1018.  
  1019.      \begin{mathematica}
  1020.      fig = Plot[Sin[x]^3, {x, 0, 4Pi}]; \
  1021.              PSTeXFontsize = 9; \
  1022.              PSTeX[fig, "sin3x"]; 
  1023.      \end{mathematica}
  1024.  
  1025. Note that in this example the the font size has been changed from the
  1026. default (7 points) to 9 points.
  1027.  
  1028.  
  1029. 
  1030. File: tex-mma.info  Node: Placement, Prev: files, Up: Graphics
  1031.  
  1032. Placing graphics in documents
  1033. =============================
  1034.  
  1035. * Menu:
  1036.  
  1037. * LaTeX::            How to place graphics in LaTeX
  1038. * TeX::                How to place graphics in TeX
  1039.  
  1040. 
  1041. File: tex-mma.info  Node: LaTeX, Up: Placement, Next: TeX
  1042.  
  1043. LaTeX documents
  1044. ---------------
  1045.  
  1046. Figures can be placed in a LaTeX document using the `\figure'
  1047. environment.  For example
  1048.  
  1049.      \begin{figure}
  1050.      \centerline{\psfig{figure=sin3x.ps}}
  1051.      \caption{{\sl Mathematica} plot of $\sin^3 x$.}
  1052.      \end{figure}
  1053.  
  1054.  
  1055. 
  1056. File: tex-mma.info  Node: TeX, Prev: LaTeX, Up: Placement
  1057.  
  1058. TeX documents
  1059. -------------
  1060.  
  1061.  
  1062. Figures can be placed in a TeX document using the various
  1063. INSERT commands.  For example, here is a macro using
  1064. `\midinsert' to place figures and give them a caption.
  1065.  
  1066.      % #1 is the file
  1067.      % #2 is figure height in the printed document
  1068.      % #3 is the figure caption
  1069.      \def\insertfig#1#2#3{
  1070.          \midinsert\centerline{%
  1071.              \psfig{figure=#1,height=#2}}
  1072.              \global\advance\figno by1 % \global so \figno incremented
  1073.              \setbox0=\vbox{%
  1074.                  \noindent
  1075.                  \leftskip=.2\hsize
  1076.                  \rightskip=.2\hsize
  1077.                  {\bf Figure \the\figno}. #3}
  1078.              \vskip 18pt
  1079.              \centerline{\box0\hss}
  1080.              \vskip 24pt
  1081.          \endinsert
  1082.      }
  1083.  
  1084.      % Define and initialize figure number
  1085.      \newcount\figno \figno=0
  1086.  
  1087. Placing the caption (macro argument 3) in a `\vbox' allows the caption
  1088. to extend over many lines.  Here is an example of how to use this macro:
  1089.  
  1090.      \insertfig{sin3x.ps}{100pt}
  1091.      {{\it Mathematica} plot of $\sin^3x$.}
  1092.  
  1093.  
  1094.  
  1095. 
  1096. File: tex-mma.info  Node: Help, Prev: Graphics, Up: Top, Next: Changing things
  1097.  
  1098. Getting help
  1099. ************
  1100.  
  1101.   On-line help is available for both `Emacs' and Mathematica.
  1102.  
  1103. * Menu:
  1104.  
  1105. * Emacs help::        Getting help on tex-math and math
  1106. * Mathematica help::    Getting help on Mathematica
  1107.  
  1108.  
  1109.  
  1110. 
  1111. File: tex-mma.info  Node: Emacs help, Up: Help, Next: Mathematica help
  1112.  
  1113. Help on `tex-mathematica' and `math'
  1114. ====================================
  1115.  
  1116. This Info description of the facilities of TeX/Mathematica is
  1117. accessed by the command `C-c h'.  The version of
  1118. TeX/Mathematica that is running is displayed with the command
  1119. `C-c v'.  Help on the commands available in the
  1120. TeX/Mathematica and Mathematica buffers is given by the
  1121. command `C-h m' in each buffer.
  1122.  
  1123.  
  1124.  
  1125. 
  1126. File: tex-mma.info  Node: Mathematica help, Prev: Emacs help, Up: Help
  1127.  
  1128. Help on Mathematica
  1129. ===================
  1130.  
  1131. David Jacobson's GNU Emacs package `math' contains several aids that
  1132. have been made available in the TeX/Mathematica buffer: automatic
  1133. syntax checking of Mathematica input, normal and extended help on
  1134. Mathematica symbols (`C-h e' and `C-h E'), name completion
  1135. (`ESC TAB') (*Note Marking:: for another use of `ESC TAB'),
  1136. and location of syntax errors in `.m' files (`C-c C-e').  In
  1137. particular, the input syntax checking detects the problem in the above
  1138. cell caused by omitting the ``\'' (*Note Input::).
  1139.  
  1140. Since TeX/Mathematica uses `Mathematica mode', the help, name
  1141. completion and `.m'-file syntax error location commands also work
  1142. directly from the Mathematica buffer.
  1143.  
  1144.  
  1145.  
  1146. 
  1147. File: tex-mma.info  Node: Changing things, Prev: Help, Up: Top, Next: Extending tex-math
  1148.  
  1149. Customizing TeX/Mathematica
  1150. ***************************
  1151.  
  1152. This node documents the TeX/Mathematica commands defined in the
  1153. TeX/Mathematica buffer and how their key bindings can be changed.
  1154.  
  1155.  
  1156. * Menu:
  1157.  
  1158. * Bindings::         TeX/Mathematica buffer key bindings
  1159. * Rebinding::        Changing TeX/Mathematica buffer key bindings
  1160.  
  1161.  
  1162. 
  1163. File: tex-mma.info  Node: Bindings, Up: Changing things, Next: Rebinding
  1164.  
  1165. TeX/Mathematica key bindings
  1166. ============================
  1167.  
  1168. Here are all of the commands of TeX/Mathematica defined in the
  1169. TeX/Mathematica buffer and the Emacs Lisp functions that they invoke.
  1170. The bindings are defined in the key map `TeX-mma-mode-map'.
  1171.  
  1172.      C-c C-[         tex-mma-backward-cell
  1173.      C-c C-]         tex-mma-forward-cell
  1174.      C-c C-b         TeX-buffer
  1175.      C-c C-e         tex-mma-math-find-error
  1176.      C-c C-f         TeX-close-LaTeX-block
  1177.      C-c C-k         TeX-kill-job
  1178.      C-c C-l         TeX-recenter-output-buffer
  1179.      C-c C-p         TeX-print
  1180.      C-c C-q         TeX-show-print-queue
  1181.      C-c C-r         TeX-region
  1182.      C-c RET         tex-mma-send
  1183.      C-c TAB         tex-mma-toggle-init
  1184.      C-c a           tex-mma-eval-all-ask
  1185.      C-c c           tex-mma-create-cell
  1186.      C-c h           tex-mma-info
  1187.      C-c i           tex-mma-eval-init-ask
  1188.      C-c l           tex-mma-recenter
  1189.      C-c m           tex-mma-assemble-package
  1190.      C-c r           tex-mma-replace
  1191.      C-c s           tex-mma-show
  1192.      C-c u           tex-mma-update
  1193.      C-c v           tex-mma-version
  1194.  
  1195.      C-h E           math-extra-help
  1196.      C-h e           math-help
  1197.  
  1198.      C-u C-c a       tex-mma-eval-all-noask
  1199.      C-u C-c i       tex-mma-eval-init-noask
  1200.      C-u C-c m       tex-mma-assemble-cell
  1201.  
  1202.      ESC RET         tex-mma-send-cell
  1203.      ESC TAB         tex-mma-do-completion
  1204.      ESC o           tex-mma-buffer-go
  1205.      ESC {           TeX-insert-braces
  1206.      ESC }           up-list
  1207.  
  1208. The commands beginning `tex-mma-' are defined in `tex-mma.el'
  1209. (*Note Tool kit::), the commands beginning `TeX-' are defined in
  1210. `tex-mode.el' (part of GNU Emacs) and the commands beginning
  1211. `math-' are defined in `math.el' (*Note Tool kit::).
  1212.  
  1213.  
  1214. 
  1215. File: tex-mma.info  Node: Rebinding, Prev: Bindings, Up: Changing things
  1216.  
  1217. Changing key bindings
  1218. =====================
  1219.  
  1220. If you want to change some key bindings, add additional key bindings of
  1221. your own, or perform any other operations when starting up
  1222. TeX/Mathematica, you can do so by defining the variable
  1223. `TeX-mma-mode-hook' in your initialization file `.emacs'.  Here
  1224. is an example.  It defines the cell motion commands to be `C-c ['
  1225. and `C-c ]'.
  1226.  
  1227.      (setq TeX-mma-mode-hook
  1228.            '(lambda ()
  1229.               (define-key TeX-mma-mode-map "\C-c[" 'tex-mma-backward-cell)
  1230.               (define-key TeX-mma-mode-map "\C-c]" 'tex-mma-forward-cell)
  1231.               ))
  1232.  
  1233. Commands are defined in the TeX/Mathematica mode key map
  1234. `TeX-mma-mode-map' (*Note Bindings::).
  1235.  
  1236.  
  1237. 
  1238. File: tex-mma.info  Node: Extending tex-math, Prev: Changing things, Up: Top, Next: Getting tex-math
  1239.  
  1240. Extending TeX/Mathematica
  1241. *************************
  1242.  
  1243. By default TeX/Mathematica just defines "mathematica" cells as
  1244. its single cell type. You can define additional cell types.  This node
  1245. describes how to do this.
  1246.  
  1247. * Menu:
  1248.  
  1249. * Interface::        Things that must be in the Emacs Lisp file that
  1250.               defines the cell interface.
  1251. * Init::        Things that need to be added to your Emacs init file
  1252. * Macros::        How to add new cell types to TeX/LaTeX
  1253.  
  1254. 
  1255. File: tex-mma.info  Node: Interface, Up: Extending tex-math, Next: Init
  1256.  
  1257. Emacs Lisp specification of new cell types
  1258. ==========================================
  1259.  
  1260. The file `unix-tex-mma.el' provided with TeX/Mathematica is
  1261. an example Emacs Lisp implementation of cell type "unix", for
  1262. interaction between the TeX buffer and a UNIX shell running in
  1263. another buffer.  There are three things that the implementation must
  1264. contain:
  1265.  
  1266.   1. The function ``type'-tex-mma-hook', which is used to make "type"
  1267.      cells part of TeX/Mathematica.  For example,
  1268.  
  1269.           (defun unix-tex-mma-hook ()
  1270.             "Hook for TeX/Mathematica."
  1271.             ; Put any setup processing you need to do here.  You don't have to
  1272.             ; do any, but this function must still be defined.
  1273.             )
  1274.  
  1275.      Whether or not you define a body for this function, the function itself
  1276.      must still be defined.  It will be used by Emacs to make sure the
  1277.      functions for this cell type are loaded, using the `autoload'
  1278.      mechanism (*Note Init::).
  1279.  
  1280.   2. The string ``type'-tex-mma-version-string' describing the version of
  1281.      this cell interface.  For example,
  1282.  
  1283.           (defconst unix-tex-mma-version-string
  1284.             "TeX/Mathematica UNIX shell interface Version 1 <Thur 11 April 1991>"
  1285.             "String describing this version of TeX/Mathematica UNIX interface.")
  1286.  
  1287.      This string will be displayed by `C-c v' to identify the cell types
  1288.      supported by the version of TeX/Mathematica that is running.
  1289.  
  1290.   3. The statement (for example)
  1291.  
  1292.           (defconst unix-tex-mma-cell-alist
  1293.             '(
  1294.               ("buffer-go" . unix-buffer-go)
  1295.               ("recenter" . unix-recenter)
  1296.               ("replace" . unix-replace)
  1297.               ("send" . unix-send)
  1298.               ("send-cell" . unix-send-cell)
  1299.               ("show" . unix-show)
  1300.               ("update" . unix-update)
  1301.               ))
  1302.  
  1303.      to associate the cell type `unix' with the functions that
  1304.      communicate with its buffer.  The association list entries define the
  1305.      functions that replace the corresponding functions of
  1306.      TeX/Mathematica.  The statement above includes entries for all
  1307.      TeX/Mathematica operations that use the Mathematica buffer.
  1308.      There should be an entry for each function you want defined for your
  1309.      cell type.  If an entry is absent, the corresponding operation will be
  1310.      ignored for your cell type.  You can define additional functions for
  1311.      your cell type.  These do not need to be in the association list, but
  1312.      their presence will cause no harm.
  1313.  
  1314.  
  1315.  
  1316. 
  1317. File: tex-mma.info  Node: Init, Prev: Interface, Up: Extending tex-math, Next: Macros
  1318.  
  1319. Modifications to the Emacs init file
  1320. ====================================
  1321.  
  1322. For each piece you want to add to TeX/Mathematica you should use
  1323. an `autoload' function in, for example, your Emacs init file to
  1324. associate its functions ``type'-tex-mma-hook' (*Note Interface::)
  1325. with the Emacs Lisp file in which the functions for the type are
  1326. defined.  For example, to add cell types "c" and "unix", defined in
  1327. (say) `c-tex-mma.el' and `unix-tex-mma.el', you need
  1328.  
  1329.      (autoload 'c-tex-mma-hook "c-tex-mma"
  1330.                "Add `c' cells to TeX/Mathematica.")
  1331.      (autoload 'unix-tex-mma-hook "unix-tex-mma"
  1332.                "Add `unix' cells to TeX/Mathematica.")
  1333.  
  1334. Then, you must list all of the cell types that you are adding in the
  1335. list `tex-mma-new-types'.  For example,
  1336.  
  1337.      (defconst tex-mma-new-types '("c" "unix"))
  1338.  
  1339. tells TeX/Mathematica to add cell types "c" and "unix".
  1340.  
  1341.  
  1342. 
  1343. File: tex-mma.info  Node: Macros, Prev: Init, Up: Extending tex-math
  1344.  
  1345. Modifications to TeX/LaTeX macros
  1346. =================================
  1347.  
  1348. You will have to add your new cell type(s) to the TeX/LaTeX macros
  1349. if you want to format your document.  The file `mathematica.tex'
  1350. contains code common to TeX and LaTeX for the actual formatting of
  1351. cell.  The file `mathematica.sty' handles the LaTeX interface to
  1352. `mathematica.tex'.  The files `mathematica10pt.tex' and
  1353. `mathematica12pt.tex' provide the TeX interface.  You will have
  1354. to adapt the macros in these file to handle your cells.
  1355.  
  1356. At a minimum you will have to define your `\begin{`type'}'
  1357. `...' `\end{`type'}' commands.  Then you can format your new
  1358. cells in the same way as Mathematica cells.  You might also want to
  1359. define new cell rules to identify your cells, using the Mathematica
  1360. cell rules as a starting point.
  1361.  
  1362.  
  1363.  
  1364. 
  1365. File: tex-mma.info  Node: Getting tex-math, Prev: Extending tex-math, Up: Top, Next: Related programs
  1366.  
  1367. Getting TeX/Mathematica
  1368. ***********************
  1369.  
  1370. The TeX/Mathematica tools are available from Internet host
  1371. `chem.bu.edu' [128.197.30.18] by anonymous `ftp' in directory
  1372. `/pub/tex-mathematica'.  The author can be reached at Internet address
  1373. `dan@chem.bu.edu'.
  1374.  
  1375. The `ftp' directory contains four files
  1376.  
  1377.    * `README', which duplicates the information
  1378.      in this node.
  1379.  
  1380.    * `CHANGES', which describes changes that have been made.
  1381.  
  1382.    * `tex-mma-j.ps.Z', the compressed PostScript documentation/example.
  1383.  
  1384.    * `tex-mma.tar.Z', the TeX/Mathematica distribution kit (includes the
  1385.      first three files).
  1386.                 
  1387. * Menu:
  1388.  
  1389. * Documentation::        LaTeX description of TeX/Mathematica
  1390. * Tool kit::            Contains the TeX/Mathematica tools
  1391. * Install::            Step-by-step installation instructions
  1392.  
  1393.  
  1394.  
  1395. 
  1396. File: tex-mma.info  Node: Documentation, Up: Getting tex-math, Next: Tool kit
  1397.  
  1398. LaTeX description of TeX/Mathematica
  1399. ====================================
  1400.  
  1401. The PostScript document `tex-mma-j.ps.Z' is derived from the LaTeX
  1402. description of TeX/Mathematica.  Transfer the document from the
  1403. `ftp' directory in binary (image) mode and then print it with
  1404.  
  1405.      zcat tex-mma-j.ps.Z | lpr
  1406.  
  1407. The source for this document is the LaTeX file `tex-mma-j.tex' and
  1408. the BibTeX file `tex-mma-j.bib'.  You can use `tex-mma-j.tex'
  1409. as a LaTeX example of a TeX/Mathematica document.
  1410.  
  1411.  
  1412.  
  1413. 
  1414. File: tex-mma.info  Node: Tool kit, Prev: Documentation, Up: Getting tex-math, Next: Install
  1415.  
  1416. Files in the distribution kit
  1417. =============================
  1418.  
  1419. The file `tex-mma.tar.Z' contains the TeX/Mathematica
  1420. tools.  These consist of the following:
  1421.  
  1422. Documentation things:
  1423.  
  1424.  
  1425.    * `tex-mma.texinfo', Texinfo documentation of TeX/Mathematica
  1426.  
  1427.    * `tex-mma.ps.Z', compressed Texinfo document
  1428.      formatted with TeX into PostScript
  1429.  
  1430.    * `tex-mma.info', Info file
  1431.      (this file)
  1432.      for on-line Emacs documentation
  1433.  
  1434.    * `tex-mma-j.tex', LaTeX description/example of TeX/Mathematica
  1435.  
  1436.    * `tex-mma-j.bib', BibTeX file for `tex-mma-j.tex'
  1437.  
  1438.    * `tex-mma-j.ps.Z', compressed LaTeX documentation formatted in
  1439.      PostScript
  1440.  
  1441.    * `sin3x.ps', Mathematica-generated figure included in
  1442.      `tex-mma-j.tex'
  1443.  
  1444.    * `tex-mma-tex.tex', TeX example of TeX/Mathematica
  1445.  
  1446.    * `texinfo.tex', TeX macros used to format `tex-mma.texinfo'
  1447.  
  1448.  
  1449. GNU Emacs things:
  1450.  
  1451.    * `tex-mma.el', the `tex-mathematica' package
  1452.  
  1453.    * `math.el', David Jacobson's Mathematica mode package (*Note math::)
  1454.  
  1455.    * `unix-tex-mma.el', example implementation of cell-type `unix'
  1456.  
  1457.  
  1458. TeX/LaTeX things:
  1459.  
  1460.    * `mathematica10pt.tex', TeX 10 point TeX/Mathematica interface
  1461.  
  1462.    * `mathematica12pt.tex', TeX 12 point TeX/Mathematica interface
  1463.  
  1464.    * `mathematica.sty', LaTeX generic TeX/Mathematica interface
  1465.  
  1466.    * `mathematica.tex', macros for formatting TeX/Mathematica
  1467.      documents, used by the preceding files
  1468.  
  1469.  
  1470. Shell scripts and Mathematica commands for processing graphics, and
  1471. shell script and template file for Mathematica package assembly:
  1472.  
  1473.    * `PSTeX.m', generates `psfig'-adapted graphics to a file, without
  1474.      PostScript prolog
  1475.  
  1476.    * `addBBox', shell script called by `PSTeX'
  1477.  
  1478.    * `PSTeXpro.m', generates `psfig'-adapted graphics to a file, with
  1479.      PostScript prolog
  1480.  
  1481.    * `addBBoxpro', shell script called by `PSTeXpro'
  1482.  
  1483.    * `addBBoxpro.awk', `awk' script called by `addBBoxpro'
  1484.  
  1485.    * `PSFile.m', generates full-page graphics to a file, with PostScript
  1486.      prolog
  1487.  
  1488.    * `tex-mma-assemble-package', shell script for Mathematica package
  1489.      assembly
  1490.  
  1491.    * `tex-mma-assemble-package.tmplt', Emacs Lisp template for
  1492.      `tex-mma-assemble-package'
  1493.  
  1494.  
  1495. This is from Cameron Smith (*Note addBBox::):
  1496.  
  1497.    * `mma.pro.1.2', Mathematica Version 1.2 PostScript prolog.  Note
  1498.      that a different prolog will be needed for Mathematica Version 2.0.
  1499.      This will be available from the author (*Note Getting tex-math::).
  1500.  
  1501. These are from Trevor Darrell's `psfig/tex' distribution (*Note psfig::):
  1502.  
  1503.    * `psfig.pro', `psfig' PostScript prolog.
  1504.  
  1505.    * `psfig.sty', `psfig' for LaTeX.
  1506.  
  1507.    * `psfig.tex', `psfig' for TeX.
  1508.  
  1509.  
  1510.  
  1511. 
  1512. File: tex-mma.info  Node: Install, Prev: Tool kit, Up: Getting tex-math
  1513.  
  1514. Installation procedure
  1515. ======================
  1516.  
  1517.   1. Transfer `tex-mma.tar.Z' in binary (image) mode into an empty
  1518.      directory, and extract its contents, with (for example)
  1519.  
  1520.           zcat tex-mma.tar.Z | tar xvf -
  1521.  
  1522.   2. Install the Info on-line documentation file `tex-mma.info' where
  1523.      your Emacs looks for Info file.  If desired, add a pointer to it to your
  1524.      Info directory file so that it will appear in the Info top-level menu.
  1525.      The source for `tex-mma.info' is `tex-mma.texinfo'.  The file
  1526.      `tex-mma.ps.Z' is the compressed TeX formatted version, made
  1527.      using the `texinfo.tex' included in the distribution (see the
  1528.      beginning of `tex-mma.texinfo' for directions).  The formatted
  1529.      version can be printed with
  1530.  
  1531.           zcat tex-mma.ps.Z | lpr
  1532.  
  1533.      It contains complete details of the TeX/Mathematica tools.
  1534.  
  1535.   3. Edit `tex-mma.el' to
  1536.  
  1537.         * set `tex-mma-process-string' to the command you use to start
  1538.           Mathematica (default is `math');
  1539.  
  1540.         * set `tex-mma-info-file' to point to where you put the file
  1541.           `tex-mma.info'
  1542.  
  1543.   4. Run `M-x byte-compile' on `tex-mma.el' and store the resulting
  1544.      `tex-mma.elc' wherever your GNU Emacs looks for files.
  1545.  
  1546.   5. Add the following to the GNU Emacs initialization file
  1547.  
  1548.           (autoload 'tex-mathematica "tex-mma"
  1549.                     "Major-mode for interaction with Mathematica from TeX." t)
  1550.           (autoload 'plain-tex-mathematica "tex-mma"
  1551.                     "Major-mode for interaction with Mathematica from TeX." t)
  1552.           (autoload 'latex-mathematica "tex-mma"
  1553.                     "Major-mode for interaction with Mathematica from TeX." t)
  1554.  
  1555.   6. If you do not have David Jacobson's Mathematica mode package
  1556.      `math.el', install it following the instructions in `math.el'.
  1557.      If you do have `math.el', make sure your version is at least as
  1558.      current as the one here, which contains changes necessary for use with
  1559.      `tex-mma.el'.  Make sure you place the file `math.el' (or,
  1560.      better, the byte-compiled file `math.elc') where your Emacs looks
  1561.      for libraries, so that `tex-mma.elc' will be able to load it if it
  1562.      is not already loaded.
  1563.  
  1564.   7. Edit `mathematica.tex' (at the end) to specify where the PostScript
  1565.      prolog files `psfig.pro' and `mma.pro.1.2' will be, and put the
  1566.      prolog files there.
  1567.  
  1568.   8. If you are using a LaTeX *earlier* than 2 May 90, edit
  1569.      `mathematica.sty' according to the comments there.
  1570.  
  1571.   9. Put `mathematica.tex', `mathematica.sty', `mathematica12pt.tex',
  1572.      `mathematica10pt.tex', `psfig.sty', and `psfig.tex' where your
  1573.      TeX looks for macro files.
  1574.  
  1575.  10. Put `PSTeX.m', `PSTeXpro.m' and `PSFile.m' where your
  1576.      Mathematica looks for packages.
  1577.    
  1578.  11. Edit `addBBoxpro' to specify which `awk' you use (default is GNU
  1579.      awk, `gawk').
  1580.  
  1581.  12. Edit `tex-mma-assemble-package' to set the variables `bindir',
  1582.      `tmpdir' and `tmpdirsed' for your system, as described in the
  1583.      comments there.  Then place `tex-mma-assemble-package.tmplt' in
  1584.      `bindir'.
  1585.  
  1586.  13. Put `addBBox', `addBBoxpro', `addBBoxpro.awk' and
  1587.      `tex-mma-assemble-package' on your system's binary search path, make
  1588.      sure they have execute status, and then execute `rehash'.
  1589.  
  1590.  
  1591. You should be ready to go: Startup emacs, run `M-x tex-mathematica'
  1592. (*Note Startup::), and have fun.
  1593.  
  1594.  
  1595. 
  1596. File: tex-mma.info  Node: Related programs, Prev: Getting tex-math, Up: Top, Next: Index
  1597.  
  1598. Related programs
  1599. ****************
  1600.  
  1601. TeX/Mathematica uses several other programs.  All are included
  1602. with the TeX/Mathematica distribution, except `dvips' which
  1603. is freely available.  These programs and where they come from are
  1604. summarized here.
  1605.  
  1606. * Menu:
  1607.  
  1608. * addBBox::        Shell script to set PostScript bounding boxes
  1609. * dvips::        TeX dvi-to-PostScript processor
  1610. * math::        GNU Emacs package to talk to Mathematica
  1611. * psfig::        TeX macros to include PostScript in TeX
  1612.  
  1613.  
  1614. 
  1615. File: tex-mma.info  Node: addBBox, Up: Related programs, Next: dvips
  1616.  
  1617. `addBBox': PostScript bounding box shell script
  1618. ===============================================
  1619.  
  1620. `addBBox' is the UNIX shell script that is called by `PSTeX' to
  1621. adjust the PostScript bounding box in Mathematica graphics so that
  1622. the resulting graphics files can be handled properly by `psfig'.
  1623. `addBBox' is based on a scheme developed by Cameron Smith.  His
  1624. electronic mail address is `cameron@midd.cc.middlebury.edu'.
  1625.  
  1626.  
  1627. 
  1628. File: tex-mma.info  Node: dvips, Prev: addBBox, Up: Related programs, Next: math
  1629.  
  1630. `dvips': TeX-dvi-to-PostScript processor
  1631. ========================================
  1632.  
  1633. `dvips' is a program that converts TeX `.dvi'
  1634. (device-independent) files into PostScript.  Several such programs are
  1635. available.  TeX/Mathematica was tested with the `dvips'
  1636. written by Tomas Rokicki.  His electronic mail address is
  1637. `rokicki@neon.stanford.edu'.  His program is available by anonymous
  1638. `ftp' from `labrea.stanford.edu' as the files
  1639. `/pub/dvips*'.  TeX/Mathematica also works with the
  1640. `dvips' available from ArborText Inc., 535 West William Street,
  1641. Suite 300, Ann Arbor, Michigan 48103, telephone (313) 996-3566.
  1642.  
  1643. The `\special' commands are slightly different for these two
  1644. `dvips' processors.  Both forms are given at the end of the macro
  1645. file `mathematica.tex' in the `\psfiginit' macro.  The Rokicki form
  1646. is selected in the distribution kit:
  1647.  
  1648.      \def\psfiginit{%
  1649.      % ArborText dvips
  1650.      %\special{ps: plotfile /usr8/dan/tex/inputs/psfig.pro global}
  1651.      %\special{ps: plotfile /usr8/dan/tex/inputs/mma.pro.1.2 global}
  1652.      % Rokicki dvips
  1653.      \special{header=/usr8/dan/tex/inputs/psfig.pro}
  1654.      \special{header=/usr8/dan/tex/inputs/mma.pro.1.2}
  1655.      }
  1656.  
  1657. If you use the ArborText driver, change these statements to
  1658.  
  1659.      \def\psfiginit{%
  1660.      % ArborText dvips
  1661.      \special{ps: plotfile /usr8/dan/tex/inputs/psfig.pro global}
  1662.      \special{ps: plotfile /usr8/dan/tex/inputs/mma.pro.1.2 global}
  1663.      % Rokicki dvips
  1664.      %\special{header=/usr8/dan/tex/inputs/psfig.pro}
  1665.      %\special{header=/usr8/dan/tex/inputs/mma.pro.1.2}
  1666.      }
  1667.  
  1668. Note that in either case the directory `/usr8/dan/tex/inputs/' will
  1669. be different on your system (*Note Install::).
  1670.  
  1671. Other `dvips' processors can be used with TeX/Mathematica by
  1672. adapting the `\psfiginit' macro in `mathematica.tex' to their
  1673. `\special' command syntax.
  1674.  
  1675.  
  1676. 
  1677. File: tex-mma.info  Node: math, Prev: dvips, Up: Related programs, Next: psfig
  1678.  
  1679. `math': Mathematica mode Emacs package
  1680. ======================================
  1681.  
  1682. `math.el' is the Emacs package that communicates with Mathematica.
  1683. It was written by David Jacobson.  `math.el' is included in the
  1684. TeX/Mathematica distribution.  It is also available by anonymous
  1685. `ftp' from `otter.stanford.edu'; see the file `README' in the
  1686. top-level directory there for more information.  David Jacobson's
  1687. electronic mail address is `jacobson@cello.hpl.hp.com'.
  1688.  
  1689.  
  1690. 
  1691. File: tex-mma.info  Node: psfig, Prev: math, Up: Related programs
  1692.  
  1693. `psfig': TeX PostScript graphics macros
  1694. =======================================
  1695.  
  1696. `psfig' is the TeX macro package that allocates space for
  1697. PostScript graphics and adds the appropriate `\special' commands to
  1698. the `.dvi' file.  It was written by Trevor Darrell and is available
  1699. by anonymous `ftp' from `whitechapel.media.mit.edu'.  Trevor
  1700. Darrell's electronic mail address is
  1701. `trevor@brixton.media.mit.edu'.
  1702.  
  1703.  
  1704. 
  1705. File: tex-mma.info  Node: Index, Prev: Related programs, Up: Top
  1706.  
  1707. Index
  1708. *****
  1709.  
  1710.  
  1711. * Menu:
  1712.  
  1713. * `\', statement continuation: Input.
  1714. * `;', statement termination: Input.
  1715. * addBBox: addBBox.
  1716. * ArborText dvips: dvips.
  1717. * bounding box in graphics: addBBox.
  1718. * bounding box in graphics: Files.
  1719. * cell, customizing format of: Customization.
  1720. * cell, defining new: Extending tex-math.
  1721. * cell, evaluating all: Regular cells.
  1722. * cell, hooks for new: Init.
  1723. * cell, initialization: Initialization cells.
  1724. * cell label: Marking.
  1725. * cell, LaTeX type size of: Size.
  1726. * cell, package: Marking.
  1727. * cell, regular: Regular cells.
  1728. * cell, text indentation of: Indentation.
  1729. * cell, type style of: Style.
  1730. * cell, using `TAB' in: Input.
  1731. * completion, cell names: Marking.
  1732. * completion, Mathematica names: Mathematica help.
  1733. * Darrell, Trevor: psfig.
  1734. * Darrell, Trevor: Tool kit.
  1735. * Dill, Dan: Getting tex-math.
  1736. * dvips, ArborText version: dvips.
  1737. * dvips: dvips.
  1738. * dvips: dvips.
  1739. * dvips: dvips.
  1740. * dvips, Rokicki version: dvips.
  1741. * `ESC TAB': Marking.
  1742. * `ESC TAB': Mathematica help.
  1743. * extending TeX/Mathematica: Extending tex-math.
  1744. * files, verbatim listing: Verbatim.
  1745. * font used in cells: Style.
  1746. * ftp site, dvips: dvips.
  1747. * ftp site, math.el: math.
  1748. * ftp site, psfig: psfig.
  1749. * ftp site, TeX/Mathematica: Getting tex-math.
  1750. * graphics, bounding box: Files.
  1751. * graphics, example: Files.
  1752. * graphics, file example: Files.
  1753. * graphics, height: Files.
  1754. * graphics, LaTeX example: LaTeX.
  1755. * graphics, prolog: Files.
  1756. * graphics, PSTeX: Files.
  1757. * graphics, scaling: Files.
  1758. * graphics, TeX example: TeX.
  1759. * `height', psfig: Files.
  1760. * help, math: Emacs help.
  1761. * help, Mathematica: Mathematica help.
  1762. * help, tex-mathematica: Emacs help.
  1763. * indentation of cell text: Indentation.
  1764. * initialization cell: Initialization cells.
  1765. * Jacobson, David: math.
  1766. * Jacobson, David: Tool kit.
  1767. * `LaTeX/Mathematica mode': Startup.
  1768. * `latex-mathematica': Startup.
  1769. * listing files, verbatim: Verbatim.
  1770. * mail address, Cameron Smith: addBBox.
  1771. * mail address, Dan Dill: Getting tex-math.
  1772. * mail address, David Jacobson: math.
  1773. * mail address, Tomas Rokicki: dvips.
  1774. * mail address, Trevor Darrell: psfig.
  1775. * math: math.
  1776. * math.el: Tool kit.
  1777. * `Mathematica mode': Startup.
  1778. * `Mathematica mode': Startup.
  1779. * Mathematica packages: Packages.
  1780. * mathematica.tex: dvips.
  1781. * \mmaindent: Indentation.
  1782. * mma.pro.1.2: Tool kit.
  1783. * \mmasize: Size.
  1784. * package cell: Marking.
  1785. * packages, assembling using Emacs: Assembling.
  1786. * packages, creating: Packages.
  1787. * packages, marking cells: Marking.
  1788. * packages, using UNIX: Batch.
  1789. * `plain-tex-mathematica': Startup.
  1790. * PostScript, bounding box: addBBox.
  1791. * PostScript, bounding box: Files.
  1792. * PostScript, prolog: Files.
  1793. * psfig, `height': Files.
  1794. * psfig: psfig.
  1795. * psfig: Setup.
  1796. * psfig: Tool kit.
  1797. * \psfiginit: dvips.
  1798. * \psfiginit: dvips.
  1799. * \psfiginit: Setup.
  1800. * `PSFile': Files.
  1801. * PSTeX, example: Files.
  1802. * PSTeX: Files.
  1803. * PSTeX, setup: Files.
  1804. * `PSTeXFontsize': Files.
  1805. * `PSTeXHeight': Files.
  1806. * `quoted-insert': Files.
  1807. * regular cell: Regular cells.
  1808. * Rokicki, Tomas: dvips.
  1809. * scaling graphics: Files.
  1810. * Smith, Cameron: addBBox.
  1811. * Smith, Cameron: Tool kit.
  1812. * \special: psfig.
  1813. * starting TeX/Mathematica: Startup.
  1814. * statement continuation, `\': Input.
  1815. * statement termination, `;': Input.
  1816. * `TAB' in cell input: Input.
  1817. * TeX/Mathematica, getting: Getting tex-math.
  1818. * `TeX/Mathematica mode': Startup.
  1819. * `TeX/Mathematica mode': Startup.
  1820. * TeX/Mathematica, purpose of: Intro.
  1821. * `tex-mathematica': Startup.
  1822. * `tex-mma-hooks': Init.
  1823. * type style used in cells: Style.
  1824. * verbatim listing of files: Verbatim.
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830. 
  1831. Tag table:
  1832. Node: Top999
  1833. Node: Copying2438
  1834. Node: Intro12943
  1835. Node: Using tex-math15058
  1836. Node: Startup15335
  1837. Node: Cells16748
  1838. Node: Regular cells17281
  1839. Node: Initialization cells18949
  1840. Node: Input20188
  1841. Node: Packages21316
  1842. Node: Marking23073
  1843. Node: Assembling26864
  1844. Node: Batch28668
  1845. Node: Formatting30130
  1846. Node: Initialization30999
  1847. Node: Customization31451
  1848. Node: Style31820
  1849. Node: Size32581
  1850. Node: Indentation33029
  1851. Node: Example33373
  1852. Node: Verbatim35947
  1853. Node: Graphics36787
  1854. Node: Setup37647
  1855. Node: Files38248
  1856. Node: Placement40355
  1857. Node: LaTeX40575
  1858. Node: TeX40893
  1859. Node: Help42018
  1860. Node: Emacs help42301
  1861. Node: Mathematica help42762
  1862. Node: Changing things43550
  1863. Node: Bindings43953
  1864. Node: Rebinding45773
  1865. Node: Extending tex-math46542
  1866. Node: Interface47080
  1867. Node: Init49642
  1868. Node: Macros50605
  1869. Node: Getting tex-math51478
  1870. Node: Documentation52368
  1871. Node: Tool kit52932
  1872. Node: Install55610
  1873. Node: Related programs59021
  1874. Node: addBBox59570
  1875. Node: dvips60062
  1876. Node: math61953
  1877. Node: psfig62496
  1878. Node: Index62972
  1879. 
  1880. End tag table
  1881.